The present invention relates in general to digital filters of the type having multiple filter stages, and in particular to a multistage digital filter which produces a periodic output data sequence in response to a periodic input data sequence wherein the first data element of the output data sequence is in phase with the first data element of the input data sequence.
Digital filters produce output data sequences having data elements which are computed as functions of elements of the input data sequences. "Direct" digital filters, which produce one output data sequence element for each input data sequence element, are often used to provide low pass filtering without changing the number of elements in the sequence. "Decimation" digital filters reduce the number of elements in a data sequence and are sometimes utilized to compress data sequences representing waveforms so that the data sequences can be more efficiently stored or transmitted. "Interpolation" digital filters increase the number of elements in a data sequence and may be used to restore data points to a previously decimated data sequence. Decimation and interpolation filters may be cascaded to form a multistage low pass digital filter which requires fewer computations per second than a direct digital filter having similar low pass filtering characteristics. (See L. R. Rabiner, "A Novel Implementation for Narrow Band FIR Digital Filters", IEEE Transactions on Acoustics, Speech, and Signal Processing, Vol. ASSP-23, No. 5, October 1975.)
Under steady state conditions a digital filter may amplify or attenuate certain frequencies of oscillation in the magnitude of elements in its input data sequences, but the filter does not add new frequencies. Thus, for every cycle of oscillation in the output data sequence, there is a corresponding cycle of oscillation in the input data sequence. However, cycles in the output data sequence may be delayed from corresponding cycles in the input data sequence for an amount of time determined by the transfer function of the filter. In addition, elements of an output data sequence may be "phase shifted" in the sense that the elements of the input and output data sequences may not occur at the same relative times during corresponding cycles.
In many applications it is desirable that the first element of the output data sequence of a filter be in phase with the first element of its input data sequence so that input and output data sequences may be correlated in time. However in a multistage digital filter, various filter stages may produce output sequences that have phase shifted elements. Moreover, depending on the amount of the delay of a filter, the first element of its output data sequence may not be in phase with the first element of the input data sequence even though other input and output sequence elements are in phase.